1. Field of the Invention
The present invention generally relates to editing of isochronous data and, more particularly, to the manipulation of streams of isochronous data for editing, such as in the production of an audio-visual presentation.
2. Description of the Prior Art
The production of audio-visual presentations generally involves the editing of film, tape or other media containing time-ordered data. Such data is generally not only time ordered but must be presented at a particular rate and is therefore generically referred to as isochronous data. Depending on the manner of rendering such data into a readily perceived form, synchronization may also be required.
With early media containing isochronous data such as audio tape or motion picture film, editing was generally accomplished by using an apparatus which allowed the storage medium to be slowly moved in either direction while a desired position thereon was found, such as by listening for a particular event recorded on tape or locating a desired frame in a continuous piece of motion picture film. When the desired position was found, the medium could be physically cut, and, if desired, a cut portion of the medium attached to another piece of the medium in order to be reproduced contiguously therewith. The piece of film or tape cut would preserve the order and format of the data therein.
Such cutting of a storage medium generally requires that both a beginning and an ending point to be located where desired cuts are to be made. With continuous storage media, there was generally no practical alternative to scanning through the intervening information. In such a case, however, only one copy of the information was usually involved and the distance between cuts was often small. However, in a case where the same sequence of information or portions thereof was to be repeated in a particular presentation, several copies or prints were first made and it was necessary to locate desired positions for cuts on each copy.
With the development of digital storage of both audio and video data, computerized manipulation of portions of the data are now possible, such as for copying and editing. Further, manipulation of other forms of isochronous data such as well-logging data or medical telemetry has become possible since physical manipulation of the storage medium is no longer required. However, the techniques for locating particular portions of isochronous data has tended to follow prior editing techniques requiring the operator to inspect all or a large fraction of data to locate desired positions for each edit. Clearly, this is time-consuming and burdensome to the operator, particularly where particular locations must be found numerous times.
Data search systems are also known for rapidly locating particular pieces of information which may be contained in a more or less massive data base. For example, familiar spelling correction applications search a library of character combinations to confirm correct spelling. Searches for words in a body of text, possibly containing thousands of separate and independent documents involves a similar process. However, in either case, and particularly the latter in which a block of surrounding text is also presented when a search has successfully located a term, there is no facility for precisely determining and/or marking the location where the term is found. Further, such search systems are completely inflexible in regard to the amount of data presented or defining a range of data by the search result. For example, if the search system provides for display of a block of text surrounding a successful search result, the extent of that block of text is generally fixed. Further, there is no facility of defining a range of data based upon results of different searches but only documents or pages in which the search was successful. For this latter reason, currently available data base query applications are particularly unsuitable for isochronous data manipulation even though extraction and titling of single video frames is well-known in the art.
Object-oriented operator interfaces have recently become familiar to most users of computers. In these interfaces, operations and/or items of data are represented by graphical images known in the art as icons. Using a mouse or other cursor position control device such as a trackball or light pen, an operator may select an icon (e.g. by "clicking" a button of the mouse while the cursor is positioned at an icon) and positionally manipulate it (e.g. dragging the cursor or icon by moving the mouse while depressing a mouse button) through the display in a manner which causes the one or more commands to be generated and executed by a computer. For example, selecting an icon which represented a particular item of electronic mail or a file and dragging that icon to the location of another icon which may resemble a waste-basket will cause the item to be erased. Dragging the same icon which may resemble a safe or a floppy disk may cause storage of the item and specify the location in storage. Such interfaces have been found to be fast, user friendly and generally result in lowered incidence of operator error. However, a fixed library of icons is usually provided which limits the number of objects which can be represented. Further, the object or operation which any icon can represent must exist as an entity or item within the system and is not generally user-definable. That is, there is a fixed relationship between each icon producible by the object oriented interface and a particular one of a predetermined and limited number of items which is represented thereby although the content of the item is freely changeable. However, since the format of the item content must be fixed, it is difficult to apply object oriented user interfaces to isochronous data, largely because there is no regular format of isochronous data and an "item" thereof is usually limited to an entire file or certain predefined blocks thereof.